Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Low flexibility



  A Solution to CPU-intensive Tasks in IO Loops

Back in October 2011, Ted Dziuba infamously said that Node.js is Cancer.  A provocative title to a provocative article.  The only thing it didn’t really provoke in the commentary was much thought ;)  Zing. My interpretation of the article is that Ted holds up the classic blocking-IO process-per-request (or  thread per request; same difference) model as superior.  Yet we all remember where the blocking-IO forking model got Apache in the early days.  ...

   CPU,Intensive IO loops,Solution,C++     2012-02-06 07:42:40

  5 Reasons Your Javascript Stinks

Javascript gets a bad rap on the Internet, but there are few languages that are so dynamic, so widespread, and so deeply rooted in our lives as Javascript is. The low barrier of entry leads some people to call it a script kiddie language, others scoff at the concept of a dynamic language while riding their statically typed high horse. You and Javascript just got off on the wrong foot, and now you've made it angry. Here's five reasons why your Javascript code sucks.1. You're not using a namespace...

   JavaScript,Good,Habit,Prototype,OOP     2011-04-13 12:25:37

  How To Find a Great Start-Up Idea

Most people believe that the first step to starting a new company is to have a great idea. Back in business school, there were countless “idea brainstorming” sessions where groups of students would try to come up with the next billion dollar idea. None of them ever turned into anything.Great businesses are not built on ideas for marginal improvements or incremental features, they solve real problems and require a deep understanding of what those problems are. So the absolute worst th...

   Startup idea,Implement,Quickness     2012-03-18 00:26:22

  C++ Versus Objective-C

What will programming in Objective-C mean to the C++ programmer Different Object Oriented Languages Almost all of us have heard the term object oriented programming, and most of us have used C++. How will Apple's purchase of NeXT, and NeXT's framework using Objective-C affect us as we develop software? If we know C++ already, how hard will it be to get up to speed on Objective-C? Many people will agree that once they understand the concepts of object oriented programming it doesn't matter...

   C++,Objective-C,OOP,Comparison,Methods,Philosohpy     2011-12-12 07:51:40

  Why developer-friendliness is central to API design

Today, APIs play a bigger role in software development than ever before. The evolution of computing has been dominated by ever-increasing levels of abstraction; the use of higher-level languages, of course, but also the development of platforms, libraries, and frameworks. Professor Douglass C. Smith claims the progression of this second category far outpaced the development of programming languages.  Developers are also noticing that difficulty has shifted from designing algorithms a...

   API,User friendly,Significance, Improve quality     2011-12-21 02:29:54

  Macro vs. Micro Optimisation

So there's recently been a bit of hype about another Colebourne article: http://blog.joda.org/2011/11/real-life-scala-feedback-from-yammer.html I'd like to respond to a few points he makes. First - You should evaluate Scala and pay attention to its benefits and flaws before adopting it.  Yes, there are flaws to Scala.   Working at typesafe makes you more aware of some of them.  We're actively working to reduce/minimize/get rid of these.   In my opinion, the negat...

   Optimization,Performance,Micro,Macro,Software     2011-11-30 12:04:25

  Web Design is 95% Typography

95% of the information on the web is written language. It is only logical to say that a web designer should get good training in the main discipline of shaping written information, in other words: Typography.Information design is typographyBack in 1969, Emil Ruder, a famous Swiss typographer, wrote on behalf of his contemporary print materials what we could easily say about our contemporary websites:Today we are inundated with such an immense flood of printed matter that the value of the individ...

   Web,Typography,Font,Resolution     2011-08-19 08:20:05

  Software philosophy: Release early, release often vs polished releases

Release early, release often is a philosophy where you release the product as soon as possible and rapidly iterate it to perfection by listening to your customers. A polished release, on the other hand is where your product, in its initial version is solid, lacks obvious bugs and has just enough features to satisfy a majority of your consumers. Most software companies adopt either one of this and that choice is not superficial. In fact, it roots down to the heart of the company’s i...

   Design philosophy,Release early,Release often,Polished relaese     2011-11-28 09:22:17

  Bionic Office

Well. That took rather longer than expected. We have, finally, moved, into the new Fog Creek office at 535 8th Avenue, officially ten months after I started pounding the pavement looking for a replacement for my grandmother's old brownstone where we spent our first few years, working from bedrooms and the garden. Most software managers know what good office space would be like, and they know they don't have it, and can't have it. Office space seems to be the one thing that nobody can get rig...

   Work place,Life,Office,Confortable     2012-01-18 09:00:55

  Java Sequential IO Performance

Many applications record a series of events to file-based storage for later use.  This can be anything from logging and auditing, through to keeping a transaction redo log in an event sourced design or its close relative CQRS.  Java has a number of means by which a file can be sequentially written to, or read back again.  This article explores some of these mechanisms to understand their performance characteristics.  For the scope of this article I will be using pre-a...

   Java,IO,Sequential,Blocking     2012-02-23 07:09:10